home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / NMK / Recorders / RSliderVars.m < prev    next >
Text File  |  1995-06-12  |  2KB  |  113 lines

  1. /***** RSliderVars.m -- SliderCellCover variable holder object implementation
  2.     NeXTstep Measurement Kit
  3.     by Alex Meyer <ameyer@phoenix.Princeton.EDU>
  4.     for computer science senior thesis
  5.     24 April 1992 -- created from RButtonVars.m
  6. *****/
  7.  
  8. #import <stdlib.h>
  9. #import <stdio.h>
  10. #import <string.h>
  11. #import <appkit/Application.h>
  12. #import "RSliderVars.h"
  13.  
  14. @implementation RSliderVars
  15.  
  16. - init    /* do not use */
  17. {
  18.     [self free];
  19.     return (nil);
  20. }
  21.  
  22.  
  23. - initString:(const char *)str
  24.     tag:(int)tg
  25.     rect:(const NXRect *)rect
  26. {
  27.     int i;
  28.     char temp[512];
  29.  
  30.     [super init];
  31.     linker = NXGetNamedObject(LINKERNAME,NXApp);
  32.     sprintf(temp,"%s|%d|%f|%f|%f|%f",str,tg,
  33.         rect->origin.x,rect->origin.y,
  34.         rect->size.width,rect->size.height);
  35.     key = NXUniqueString(temp);
  36.     lastHitTime = 0;
  37.     stats.numHits = 0;
  38.     stats.timeIn = 0;
  39.     stats.timeBetween = 0;
  40.     for (i = 0;i < SLIDERHIST;++i)
  41.         stats.histogram[i] = 0;
  42.     [linker connect:self];
  43.     return (self);
  44. }
  45.  
  46.  
  47. - incHits
  48. {
  49.     ++stats.numHits;
  50.     return (self);
  51. }
  52.  
  53.  
  54. - timeFrom:(double)time0
  55.     to:(double)time1
  56. {
  57.     stats.timeIn += time1 - time0;
  58.     if (lastHitTime)
  59.         stats.timeBetween += time0 - lastHitTime;
  60.     lastHitTime = time1;
  61.     return (self);
  62. }
  63.  
  64.  
  65. - incHist:(int)ind
  66. {
  67.     ++stats.histogram[ind];
  68.     return (self);
  69. }
  70.  
  71.  
  72. - (unsigned)type
  73. {
  74.     return (TM_SLIDER);
  75. }
  76.  
  77.  
  78. - (NXAtom)key
  79. {
  80.     return (key);
  81. }
  82.  
  83.  
  84. - (NXAtom)desc
  85. {
  86.     return (NXUniqueString("{idd[10i]}"));
  87. }
  88.  
  89.  
  90. - (unsigned)statsSize
  91. {
  92.     return (sizeof(stats));
  93. }
  94.  
  95.  
  96. - (void *)copyOfStats
  97. {
  98.     void *cpy;
  99.  
  100.     cpy = malloc(sizeof(stats));
  101.     memcpy(cpy,&stats,sizeof(stats));
  102.     return (cpy);
  103. }
  104.  
  105.  
  106. - copyInStats:(void *)NewStats
  107. {
  108.     memcpy(&stats,NewStats,sizeof(stats));
  109.     return (self);
  110. }
  111.  
  112. @end
  113.